﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BaseUnits
{
    public interface IPowerUnit
    {
        DateTime BuildDate { get; }
        int ID { get; set; }
        String Description { get; set; }
        int Priority(DateTime date, int hour = -1);
        double EmissionFactor(DateTime date, int hour = -1);
        Boolean IsCDM { get; }
        String ExternalId { get; set; }
        IPowerPlant GetPowerPlant();
        double ElectricityDispatch(DateTime date, int hour = -1);
        double GetIncoming(DateTime date, int hour = -1);
        double GetOutgoing(DateTime date, int hour = -1);
        double TotalOutgoing(DateTime dateFrom, DateTime dateTo);
        double TotalIncoming(DateTime dateFrom, DateTime dateTo);
    }
}
